const annotation = document.getElementById('annotation-content')

annotation.focus()

/**
 * 设置初始文本内容
 * @param {string} HTMLText
 */
function setHTMLTextContent() {
  let HTMLText = window.annotationObject.getAnnotationText()
  console.log(`setHTMLTextContent start,  HTMLText: ${HTMLText}`);
  const parser = new DOMParser()
  const parsedDoc = parser.parseFromString(HTMLText, 'text/html')
  const nodes = parsedDoc.body.childNodes

  nodes.forEach(node => {
    annotation.appendChild(node.cloneNode(true))
  })

  console.log('setHTMLTextContent end');
}

function setEditable(editable) {
  annotation.setAttribute('contenteditable', JSON.stringify(editable))
}

// 获取注释文本
function getHTMLTextContent() {
  // console.log('getHTMLTextContent start');
  // // 创建一个范围对象，并选择编辑器内的所有内容
  // const range = document.createRange();
  // range.selectNodeContents(annotation);

  // // 克隆选中的内容
  // const clonedContent = range.cloneContents();

  // // 创建一个新的容器元素
  // const container = document.createElement('div');

  // // 将克隆的内容添加到新的容器元素中
  // container.appendChild(clonedContent);

  // // 使用XMLSerializer将容器序列化为字符串
  // const serializer = new XMLSerializer();
  // const htmlContent = serializer.serializeToString(container);

  // console.log(`getHTMLTextContent htmlContent: ${htmlContent}`);

  // // 移除根节点的命名空间（如果不需要的话）
  // const cleanHtmlContent = htmlContent.replace(/^<div[^>]*>|<\/div>$/gi, '');

  // console.log(`get HTMLTextContent: ${cleanHtmlContent}`);
  // console.log('getHTMLTextContent end');

  // return cleanHtmlContent;
  let text = annotation.textContent
  if (text.endsWith('\n')) {
    text = text.substring(0, text.length - 1)
  }
  return text
}
